package com.ruoyi.ldzlsc.service;

import com.ruoyi.ldzlsc.domain.ScSalesOrder;
import com.ruoyi.ldzlsc.domain.ScSalesOrderDetail;
import java.util.List;

/**
 * 销售订单Service接口
 *
 * @author ldzl
 * @date 2025-05-27
 */
public interface ScSalesOrderService {
    /**
     * 查询销售订单列表
     *
     * @param scSalesOrder 销售订单
     * @return 销售订单集合
     */
    List<ScSalesOrder> selectScSalesOrderList(ScSalesOrder scSalesOrder);
    
    /**
     * 查询销售订单明细列表
     *
     * @param salesOrderId 销售订单ID
     * @return 销售订单明细集合
     */
    List<ScSalesOrderDetail> selectScSalesOrderDetailList(Long salesOrderId);

    /**
     * 查询销售订单信息
     *
     * @param id 销售订单ID
     * @return 销售订单信息
     */
    ScSalesOrder selectScSalesOrderById(Long id);

    /**
     * 新增销售订单
     *
     * @param scSalesOrder 销售订单信息
     * @return 结果
     */
    int insertScSalesOrder(ScSalesOrder scSalesOrder);

    /**
     * 修改销售订单
     *
     * @param scSalesOrder 销售订单信息
     * @return 结果
     */
    int updateScSalesOrder(ScSalesOrder scSalesOrder);


    /**
     * 批量删除销售订单信息
     *
     * @param ids 需要删除的销售订单ID数组
     * @return 结果
     */
    int deleteScSalesOrderByIds(Long[] ids);
}
